<?php
declare (strict_types = 1);

namespace app\common\model\Post;

use think\Model;
use think\model\concern\SoftDelete;

/**
 * @mixin \think\Model
 */
class Comment extends Model
{
    // 指定数据表
    protected $table = 'pre_comment';

    // 开启自动写入时间戳
    protected $autoWriteTimestamp = true;

    // 写入到表当中哪个字段
    protected $createTime = 'createtime';  

    // 关闭自动写入
    protected $updateTime = false;

    // 软删除
    use SoftDelete;
    protected $deleteTime = 'deletetime';

    // 每次查询的时候，追加一个自定义字段
    protected $append = [
        'like_total'
    ];

    //关联查询 链表查询
    public function user()
    {
        //belongsTo 关联查询
        // belongsTo('关联模型名','外键名','关联表主键名');
        return $this->belongsTo('app\common\model\User\User', 'userid', 'id');
    }

    // 关联帖子查询
    public function post()
    {
        return $this->belongsTo('app\common\model\Post\Post','postid','id');
    }

    // 定义一个获取器 用于统计访问总数 visit_total
    public function getLikeTotalAttr($value, $data)
    {
        $like = $data['like'];
        $like = empty($like) ? [] : explode(',', $like);

        //返回数组的个数
        return count($like);
    }
}
